#ifndef SPACE_SHIP_HPP_
#define SPACE_SHIP_HPP_

#include <SFML/Graphics.hpp>
#include "../glm/glm.hpp"

namespace ps
{

class SpaceShip
{
public:
	enum ShipState {DEAD, ACTIVE};
	SpaceShip();
	void Initialize();
	void Update(float dt);
	void MoveTo(float dx, float dy);
	void Render() const;
	void SetWindow(sf::RenderWindow* window) {m_window = window;}
	void SetImage(const sf::Image& image) {m_ship_spr.SetImage(image);}

	ShipState GetState() const {return m_state;}

	virtual ~SpaceShip();
private:
	sf::Sprite m_ship_spr;
	glm::vec2 m_move_dir;
	float m_friction;
	sf::RenderWindow* m_window;
	ShipState m_state;
};

} /* namespace ps */
#endif /* SPACE_SHIP_HPP_ */
